Using standard computer memory, an address is supplied to retrieve the contents stored at that memory address. Content-addressable memory (CAM), instead, receives data indicative of memory contents and searches the entire memory to locate one or more addressable locations in which that data can be found. The CAM can then return one or more addresses which contain the requested data.
Typical uses for CAMs include routing information look-up, cache controllers, database engines, and translation look aside buffers (TLB). A TLB can be used in the computer memory management of a virtual memory system to translate a virtual address into a physical address location.
Using some memory technologies, such as FLASH memory, individual storage locations (e.g., blocks, pages, etc.) can become worn out from repeated erasures. A TLB can be used to track the present location of data which has been reallocated from a failed memory location to a new memory location.